package com.example.demo02.constants;

/**
 * 错误码（400-599 禁止使用）
 */
public enum Errors {
  // 0-200 系统级
  SUCCESS(0, "操作成功"),

  SYSTEM_ERROR(1, "系统错误"),


  // 自定义错误，可以修改label
  SYSTEM_CUSTOM_ERROR(2, "自定义错误"),

  SYSTEM_DATA_ERROR(3, "数据异常"),

  SYSTEM_DATA_NOT_FOUND(4, "数据不存在"),

  SYSTEM_NOT_LOGIN(5, "请登录"),

  SYSTEM_UPDATE_ERROR(6, "数据更新失败"),

  SYSTEM_NO_ACCESS(7, "无权限访问"),

  SYSTEM_REQUEST_PARAM_ERROR(8, "请求参数错误"),

  SYSTEM_BUSINESS_ERROR(9, "系统繁忙,请您稍后再试"),

  SYSTEM_INSERT_ERROR(10, "数据插入失败"),

    SYSTEM_DATA_REPETITION(11, "数据重复"),


  //201-300，用户模块
  USER_LOGIN_ERROR(201, "用户名或密码错误"),
  //
  USER_PASSWORD_LENGTH(202, "密码长度不符合要求"),
  //
  USER_USERNAME_SAME(203, "该用户名已存在"),
  //
  USER_PASSWORD_SAME(204, "密码不能与老密码重复"),
  //
  USER_NOT_FIND(205, "用户不存在"),
  //
  USER_HAS_DELETED(206, "该用户已经失效"),
  //
  USER_ACCOUNT_ERROR(207, "帐号异常，请联系客服"),
  //
  USER_OLD_PASSWORD_ERROR(208, "原密码错误"),
  //
  USER_POINT_ERROR(209, "用户积分不足"),

  USER_NO_PERMISSION(210,"用户没有权限"),


  // 短信发送模块
  USER_MOBILE_EXISTS(210, "该手机号已经注册"),

  USER_MOBILE_NOT_REGISTER(211, "该手机号并未注册"),

  USER_SMS_SEND_FAST(212, "请30秒后再试"),

  USER_SMS_SEND_ERROR(213, "短信接口调用失败"),

  CAPTCHA_IS_NULL(214, "验证码不存在"),

  CAPTCHA_EXPIRED(215, "验证码已过期"),

  CAPTCHA_ERROR(216,"验证码输入有误"),

  WEIXIN_USER_NOT_LOGIN(217,"微信用户未登陆"),

  BIND_CARD_CODE(218,"该手机号不存在或为空"),

  WEIXIN_NOT_FIND(225,"该微信号未注册，请注册。"),

  BIND_CARD_HAS(219,"此手机号已经被绑定"),

  SMS_CONTENT_NULL(220,"短信不能内容为空"),

  NOT_SUFFICIENT_FUNDS(221,"用户余额不足"),

  NOT_SUFFICIENTVI_FUNDS(222,"用户虚拟币不足"),

  ASK_FEE_PAY(223,"您还没有购买查看权限，请先购买。"),

  ASK_FEE_OTHER(224,"该接单正在交易中，请选择其他接单或等他人付款失败后继续操作。"),

  EXPORT_ERROR(225, "导出失败"),

  IMPORT_ERROR(226, "导入失败"),

  FILE_NOT_EXIST(227, "文件不存在,请重新上传！"),

  FILE_IS_EMPTY(228, "文件为空,请重新上传！"),

  INVALID_EXCEL_DATASOURCE(230, "{}不是Excel文件,请重新上传！")



  ;

  public int code;
  public String label;

  private Errors(int code, String label) {
    this.code = code;
    this.label = label;
  }

  /**
   * 获取状态码描述
   *
   * @param code
   *          状态码
   * @return 状态码描述，如果没有返回空串
   */
  public static String getLabel(int code) {
    String result = "";
    for (Errors status : Errors.values()) {
      if (status.code == code) {
        result = status.label;
      }
    }
    return result;
  }

}
